package com.example.springbootdemo2024.controller;

import com.example.springbootdemo2024.dao.UserRoomDao;
import com.example.springbootdemo2024.entity.UserRoom;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;

@Controller
@RequestMapping("/manage")
public class UserRoomController {
    @Autowired
    private UserRoomDao userRoomDao;

    /**
     * 跳转到管理员主页面
     */
    @RequestMapping("/toMain")
    public String toMain(){
        return "main";
    }

    /**
     * 跳转到预订房间管理
     */
    @RequestMapping("/toBookRoom")
    public String toBookRoom(){
        return "bookRoom";
    }

    /**
     * 跳转到入住房间管理
     */
    @RequestMapping("/toUseRoom")
    public String toUseRoom(){
        return "useRoom";
    }

    /**
     * 获取预定房间的数量
     */
    @RequestMapping("/getBookCount")
    @ResponseBody
    public int getBookCount(){
        return userRoomDao.getBookCount();
    }

    /**
     * 获取预定房间记录
     */
    @RequestMapping("/findBookAll")
    @ResponseBody
    public List<UserRoom> findBookAll(Integer limit, Integer page){//limit每页条数 page页号
        List<UserRoom> bookRecords = userRoomDao.findBookAll(limit, limit*(page-1));
        return bookRecords;
    }

    /**
     * 预定房间管理——入住
     */
    @RequestMapping("/inRoom")
    @ResponseBody
    public int inRoom(Integer id){
        return userRoomDao.inRoom(id);
    }

    /**
     * 预定房间管理——取消入住
     * 入住房间管理——退房
     */
    @RequestMapping("/outRoom")
    @ResponseBody
    public void outRoom(Integer id){
        userRoomDao.outRoom(id);
        userRoomDao.disconnRoom(id);
    }

    /**
     * 获取入住房间的数量
     */
    @RequestMapping("/getUseCount")
    @ResponseBody
    public int getUseCount(){
        return userRoomDao.getUseCount();
    }

    /**
     * 获取入住房间记录
     */
    @RequestMapping("/findUseAll")
    @ResponseBody
    public List<UserRoom> findUseAll(Integer limit, Integer page){//limit每页条数 page页号
        List<UserRoom> useRecords = userRoomDao.findUseAll(limit, limit*(page-1));
        return useRecords;
    }

    /**
     * 跳转到普通用户主页面
     */
    @RequestMapping("/toMain1")
    public String toMain1(){
        return "main1";
    }

    /**
     * 跳转到预订房间页面
     */
    @RequestMapping("/toGetRoom")
    public String toGetRoom(){
        return "getRoom";
    }
}
